package com.hspedu.tankgame;

import javax.swing.*;
import java.awt.*;

/**
 * @author 谷其昊
 * @version 1.0
 * @date 2022/2/12
 * @time 18:57
 */
public class MyPanel extends JPanel{
    private Hero hero;

    public MyPanel() {
        if (hero == null)
            this.hero = new Hero(100, 100);
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);

        g.fillRect(0, 0, 1000, 750);
        drawTank(hero.getX(), hero.getY(), g, 0, 1);
    }

    /**
     * @param x         坦克的左上角x坐标
     * @param y         坦克的左上角y坐标
     * @param g         画笔
     * @param direction 坦克方向（上下左右）
     * @param type      坦克类型
     */
    public void drawTank(int x, int y, Graphics g, int direction, int type) {
        switch (type) {
            case 0:
                //自己的坦克
                g.setColor(Color.cyan);
                break;
            case 1:
                //敌方坦克
                g.setColor(Color.yellow);
                break;
        }

        switch (direction) {
            //向上
            case 0:
                //左轮
                g.fill3DRect(x, y, 10, 60, false);
                //右轮
                g.fill3DRect(x + 30, y, 10, 60, false);
                //中间
                g.fill3DRect(x + 10, y + 10, 20, 40, false);
                //圆
                g.fillOval(x + 10, y + 20, 20, 20);
                g.drawLine(x + 20, y, x + 20, y + 30);
                break;
            default:
                System.out.println("暂时没有处理");
        }
    }


}
